wayland: Clear current cusor on leave so we always set it on enter
authorKristian Høgsberg <krh@bitplanet.net>
Thu, 21 Mar 2013 12:51:35 +0000 (08:51 -0400)
committerKristian Høgsberg <krh@bitplanet.net>
Thu, 21 Mar 2013 12:54:42 +0000 (08:54 -0400)
Commit 0d9d808217a04ee965ce5f60f9aff00b2ec4938e fixed the hotspot issue,
but commit f2cc52fddd74b3064eec85e17161ebbc4ee14f49 then optimized away
cursor changes a little too aggressively.  We always need to set the
cursor on enter.  Make sure we clear the current cursor on leave so we
don't think it's already set on the next enter.

https://bugzilla.gnome.org/show_bug.cgi?id=695512

gdk/wayland/gdkdevice-wayland.c

index 3cdf938c31f2951c462bf060bf2b1cb1ace7c34a..7bf2e0521f3cd0b9424de26def6f36bcb66980d2 100644 (file)
@@ -622,6 +622,12 @@ pointer_handle_leave (void              *data,
                        device, device->pointer_focus));
 
   g_object_unref(device->pointer_focus);
+  if (device->cursor)
+    {
+      g_object_unref (device->cursor);
+      device->cursor = NULL;
+    }
+
   device->pointer_focus = NULL;
 }